package j2.shopmail;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.cardview.widget.CardView;
import androidx.fragment.app.Fragment;

/**
 * A simple {@link Fragment} subclass.
 * Use the {@link usercenter#newInstance} factory method to
 * create an instance of this fragment.
 */
public class usercenter extends Fragment
{
    
    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
    
    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;
    boolean isShow=false;
    public usercenter()
    {
        // Required empty public constructor
    }
    
    /**
     * Use this factory method to create a new instance of
     * this fragment using the provided parameters.
     *
     * @param param1 Parameter 1.
     * @param param2 Parameter 2.
     * @return A new instance of fragment usercenter.
     */
    // TODO: Rename and change types and number of parameters
    public static usercenter newInstance(String param1, String param2)
    {
        usercenter fragment = new usercenter();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
    
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        if(getArguments() != null)
        {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        // Inflate the layout for this fragment
        final View view = inflater.inflate(R.layout.fragment_usercenter, container, false);
       TextView textView= view.findViewById(R.id.userID);
       textView.setText("Welcome "+MainActivity.user.name);
      CardView cardView = view.findViewById(R.id.userCARD);
        cardView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v)
            {
               if(isShow)
               {
                   TextView textView = view.findViewById(R.id.spcode);
                   textView.setText("特征码:******");
                   isShow=false;
               }
               else
               {
                   final AsycHttp<String,String> http=new AsycHttp<>();
                   http.setBackgroundAction(new AsycHttpAction<String, String>() {
                       @Override
                       public String BackGroundAction(String... params)
                       {
                           String c= ServerHelper.MakeGetSpecialStr(MainActivity.user.name, MainActivity.user.password);
                           String string =HttpHelper.Get(c);
                           return string;
                       }
        
                       @Override
                       public void ProgressUpdateAction(View UI, Double... values)
                       {
            
                       }
        
                       @Override
                       public void ResultFunction(String result)
                       {
                           TextView textView = view.findViewById(R.id.spcode);
                           textView.setText("特征码:"+result);
                           isShow=true;
                       }
        
                       @Override
                       public void PreDoFunction()
                       {
                           TextView textView = view.findViewById(R.id.spcode);
                           textView.setText("特征码正在处理");
                       }
                   });
                   http.execute();
               }

                return false;
            }
        });
    
        Button cp=view.findViewById(R.id.copy);
        cp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                if(isShow)
                {
                    ClipboardManager cm = (ClipboardManager)MainActivity.Self.getSystemService(Context.CLIPBOARD_SERVICE);
                    TextView textView = view.findViewById(R.id.spcode);
                    String string = textView.getText().toString().substring(4).trim();
                    ClipData mClipData = ClipData.newPlainText("SpecialCode",string);
                    cm.setPrimaryClip(mClipData);
                    cm.setText(string);
                }
                else
                {
                    Toast.makeText(MainActivity.Self,"请长按特征码文字处使特征码明示后进行复制", Toast.LENGTH_SHORT).show();
                }
            }
        });
        cp=view.findViewById(R.id.logout);
        cp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                MainActivity.user.isLogin=false;
                MainActivity.Switch(R.id.navigation_notifications);
            }
        });
        cp=view.findViewById(R.id.cpassword);
        cp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                MainActivity.Switch(R.id.changepassword_fra);
            }
        });
        cp=view.findViewById(R.id.ordercheck);
        cp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                Intent intent=new Intent(MainActivity.Self,OrderActivity.class);
                startActivity(intent);
            }
        });
        return view;
     }
}